package com.yuanrui.subject.application.dto;

import com.yuanrui.subject.common.entity.PageInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 题目信息表(SubjectInfo)实体类
 *
 * @author makejava
 * @since 2024-07-09 19:23:59
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class SubjectInfoDTO extends PageInfo implements Serializable {
    @Serial
    private static final long serialVersionUID = -14560877073339018L;
    /**
     * 主键
     */
    private Long id;

    /**
     * docId
     */
    private Long docId;
    /**
     * 题目名称
     */
    private String subjectName;
    /**
     * 题目难度
     */
    private Integer subjectDifficult;

    /**
     * 出题人名
     */
    private String settleName;
    /**
     * 出题人名
     */
    private String createUser;
    /**
     * 题目类型 1单选 2多选 3判断 4简答
     */
    private Integer subjectType;
    /**
     * 题目分数
     */
    private Integer subjectScore;
    /**
     * 题目解析
     */
    private String subjectParse;

    /**
     * 是否删除 0未删除 1已删除
     */
    private Integer isDeleted;

    /**
     * 题目答案
     */
    private String subjectAnswer;

    /**
     * 题目所属分类id
     */
    private List<Integer> categoryIds;

    /**
     * 题目所属标签
     */
    private List<Integer> labelIds;

    /**
     * 题目所属标签
     */
    private List<String> labelName;

    /**
     * 题目答案选项
     */
    private List<SubjectAnswerDTO> optionList;

    /**
     * 分类id
     */
    private Long categoryId;

    /**
     * 标签id
     */
    private Long labelId;

    /**
     * 搜索关键字
     */
    private String keyWord;

    /**
     * 题目分数，es提供的评分
     */
    private BigDecimal score;

    /**
     * 出题人头像
     */
    private String createUserAvatar;

    /**
     * 出题数量
     */
    private Integer subjectCount;

    /**
     * 是否被当前用户点赞
     */
    private Boolean liked;

    /**
     * 当前题目点赞数
     */
    private Integer likedCount;

    /**
     * 下一题
     */
    private Long nextSubjectId;

    /**
     * 上一题
     */
    private Long lastSubjectId;
}

